Implementations of this disclosure relate generally to wireless communication networks, and more particularly to integrating a third party application store with an operating system of a device.
Application users want their experiences to be mobile across all of their devices, and they want to use whatever device is most convenient or productive for the task at hand. A universal platform that runs on many different devices, such as personal computers, tablets, smartphones, and game consoles, makes it easier to support a number of screen sizes, and a variety of interaction models, such as touch, mouse and keyboard, game controller, or pen. Universal applications (e.g., Universal Windows Applications) can be written for a universal platform.
The universal applications target device families, not a particular operating system. The device family identifies the application program interfaces (APIs), system characteristics, and behaviors that developers can expect across devices within the device family. Developers can work with familiar programming languages, frameworks, and APIs, all in single project, and have the very same code run on a wide range of hardware. Once the developer has written their universal application, they can publish it to an application store for users to access. The device family determines the set of devices on which the universal application can be installed from the store.
The universal applications are packaged and distributed using a universal platform packaging format. All universal applications are distributed as the universal platform package. This provides a trustworthy installation mechanism and ensures that the applications can be deployed and updated seamlessly.
The universal platform provides a common application platform that is available on every device. With this evolution, applications that target the universal platform can call not only the APIs that are common to all devices, but also APIs that are specific to the device family that the application is running on. The universal platform provides a guaranteed core API layer across devices. This means developers can create a single application package that can be installed onto a wide range of devices.
In current platforms, developers who want to build durable content are required to release that content within the application itself. The application logic is more complex when the developer releases content in the application but includes restrictions on enabling that content, such as when users must pay for content or when content is made available only after a certain point in time or after a certain point in a game is achieved. For users, this means every piece of content added, regardless of if the user actually purchased that content, is downloaded to their device, which consumes network bandwidth and disk space. Furthermore, the user is also forced to receive updates to the content they do not intend or expect to ever use.
To create downloadable content or some optional content, current platforms requires developers to make an update to the main application. This makes it especially difficult for publishers who contract application content out to third parties to provide optional content since this content require updating the application itself.
However, current platforms do not allow for third party application stores to distribute universal applications on a Windows device, and to include all of the third party application stores' primary functions, such as, install and update for the universal applications. These limitations make it difficult for developers to license or otherwise monetize additional or optional content and applications. Thus, improvements in integration of third party application stores with an operating system of a device is desired.